﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DaedalusEngine.Source
{
    public interface IActor
    {
        #region Properties

        int SpriteWidth { get; }                        //Width of sprite 
        int SpriteHeight { get; }                       //Height of sprite
        bool IsAlive { get; set; }                      //True if the actor is alive, false is dead
        FrameAnimation CurrentFrameAnimation { get; }   //The current frame animation
        string CurrentAnimation { get; set; }           //The string of the current frame animation
        bool IsAnimating { get; }

        #endregion

        #region Methods

        void Move(float x, float y);

        void AddAnimation(string name, int x, int y, int width, int height,
            int frames, float frameLength, string nextAnimation);

        FrameAnimation GetAnimationByName(string name);

        void Die();

        #endregion
    }
}
